From the prior art, various types of data networks are known in which the data network components decide on the port of the respective data network component via which a data message is to be sent. In particular, switchable data networks, as they are called, are also known in which a connection is established in the data network between two subscribers by means of one or more point-to-point connections.
It is likewise known from the prior art that the decision concerning the port of a data network component via which a previously received data message is to be sent is made with the aid of an address table. Each entry in the address table stores e.g. the station address of a target data network component (a unicast address, as it is called), or a multicast address or a network address and the numbers of the respective ports of the data network component via which a received data message for forwarding to its target address is to be sent.
Also known from the prior art is the use of dynamically modifiable and static address tables. Dynamic address tables have dynamically modifiable table entries which are administered independently by the hardware of the respective data network without software support. The static entries in a static address table, by contrast, are administered by the application software of each data network component and may not be modified by the hardware of a data network component.
A possible method known from the prior art for recognizing whether an address, e.g. a multicast address, and the information assigned to the multicast address are stored in an address table is direct comparison of the target address of the respective data message with all the addresses stored in the address table. This method is time-consuming or requires a content-addressable memory.
A method which allows address entries which are initially mapped to the same entry address of the address table to be stored simultaneously in an address table is described in U.S. Pat. No. 5,923,660. In an Ethernet controller, a hash address table is to this end provided with a corresponding control which forms the hash value of the address of a data packet in order to find an initial value for an entry in the hash address table. This initial value is modified if necessary by a fixed entry value if the address which in the line of the hash address table identified by the initial value does not match the target address received [sic].
Data networks enable communication between multiple subscribers by the networking, i.e. connecting of individual subscribers to one another. Communication in this case means the transmission of data between the subscribers. The data to be transmitted is sent in this case as data messages, i.e. the data is packaged together into multiple packets and sent in this form via the data network to the corresponding recipient. It is customary therefore to talk of data packets.
The term ‘transmission of data’ is used synonymously here with the transmission of data messages or data packets mentioned above. The networking itself is achieved, for example in the case of switchable high-performance data networks, in particular Ethernet, in that between two subscribers at least one switching unit which is connected to both subscribers is switched in each case. Each switching unit can be connected to more than two subscribers.
Each subscriber is connected to at least one switching unit, but not directly to another subscriber. Subscribers are for example, computers, stored-program controllers (SPC) or other machines which exchange, in particular process, electronic data with other machines. In contrast to bus systems in which every subscriber can access every other subscriber of the data network directly via the data bus, switchable data networks involve exclusively point-to-point connections, i.e. a subscriber can access all the other subscribers in the switchable data network only indirectly, through corresponding forwarding of the data to be transmitted by means of one or more switching units.
In distributed automation systems, for example in the field of drive engineering, certain data must be received at certain times by the subscribers specified for it and be processed by the recipients. It is customary here to talk of real-time critical data or data traffic, since a failure of data to arrive at the point of destination at the proper time leads to undesired results for the subscriber. In compliance with IEC 61491, EN61491 SERCOS interface—brief technical description successful real-time critical data traffic of the type specified can be guaranteed in distributed automation systems.
From the prior art, various standardized communication systems, also called bus systems, for the exchange of data between two or more electronic modules and/or devices, in particular also for use in automation systems, are known. Examples of such communication systems are: Feldbus, Profibus, Ethernet, Industrial Ethernet, FireWire or even PC-internal bus systems (PCI). These bus systems are in each case designed and/or optimized for different application fields and permit the establishment of a distributed control system. For process control and supervision in automated production and in particular in the case of digital drive technologies, very fast and reliable communication systems with predictable response times are required.
With parallel bus systems such as, for example, SMP, ISA, PCI or VME, very fast and simple communications can be established between different modules. These known bus systems find use in particular in computers and PCs.
Synchronous clocked communication systems with equidistance characteristics are known from automation engineering, in particular. Such a system is deemed to refer to a system comprising at least two subscribers which are connected to one another via a data network for the purposes of mutually exchanging data and/or mutually transmitting data. Data is in this case exchanged cyclically in equidistant communication cycles which are predetermined by the communications clock pulse used by the system. Subscribers include for example central automation devices, programming, configuring or operator devices, peripheral devices such as e.g. input/output modules, drives, actuators, sensors, stored-program controllers (SPC) or other control units, computers or machines which exchange electronic data with other machines, and in particular process data from other machines. Control units are deemed below to refer to closed-loop or open-loop control units of any type.
An equidistant, deterministic and cyclical exchange of data in communication systems is founded on a shared clock pulse or timing basis of all the components involved in the communication. The clock pulse or timing basis is transmitted from one identified component (pulse generator) to the other components. In an isochronous real-time Ethernet, the pulse or timing basis is preset by a synchronization master through the sending of synchronization messages.
German patent application DE 100 58 524.8 discloses a system and a method for transmitting data via switchable data networks, in particular the Ethernet, which allows the mixed operation of real-time-critical and non-real-time-critical, in particular Internet- and intranet-based, data communications.
It is also known from the prior art that the components of a switchable data network decide concerning the port of a switching node via which a data message is to be sent with the aid of dynamic address tables. A dynamic address table stores in each case station addresses of network components and the details of the port via which a data message is to be sent to this network subscriber. Since the configuration of the network can change dynamically (e.g. through activation, deactivation and/or failure or rewiring), and since on account of the limited storage capacity not all station addresses can be stored simultaneously in an address table, the table entries administered by the network component, that is e.g. by the switching node, are dynamically changeable.
Since components of a data network may e.g. fail or be rewired, an aging mechanism must be provided which can declare an address entry to be invalid if a certain condition of the aging method selected is fulfilled.
From European patent application EP-A-0 993 156 a corresponding aging method is known, in which a data message has to be received within a parameterizable time interval from the respective network component with the station address entered in the address table in order to remain marked as valid.
FIG. 1 shows a corresponding data network known from the prior art. The data network 1 contains a switching node 2 with ports A, B, C and D and a switching node 3 with ports E, F, G and H. The port C of the switching node 2 is connected to an automation component 4 and the port B to a further switching node which, for the sake of clarity, is not shown in FIG. 1.
The port D is also connected to the port E of the switching node 3. The ports F, G and H of the switching node 3 are connected to the automation components 5, 6 and 7 respectively.
Each of the switching nodes 2 and 3 contains an address table 8. Each line of an address table 8 contains a station address of one of the components of the data network 1, that is, of one of the automation components 4, 5, 6 or 7, for example. A respective line of the address table 8 of the switching node also contains details of the port of this switching node, from which port a data message received by the switching node is to be forwarded with the station address as the target address. Furthermore, such a line of the address table 8 contains an entry regarding the aging of the entry in the respective line, that is, regarding the validity of this entry.
An entry in a line of the address table 8 is then generated if a data message 9 with a source address and a target address is received, for example at port A of the switching node 2. Said message may for example be an Ethernet data message.
The fact that a data message with the respective source address has been received at port A is recorded in the address table 8 as an entry in a line of the address table. An aging bit in the respective line of the address table is set e.g. to 0 so as to indicate the current status of this entry.
Each of the switching nodes 2 and 3 has a time base which in each case applies globally to the address table 8. The time base can be implemented with a counter which in each case counts up to a threshold value.
After a current entry has been generated in the address table 8, and the counter is reset, the aging bit is set e.g. from 0 to 1. The entry then continues to be valid. If, at a time at which the aging bit is set to 1, a further data message 9 is received, the aging bit is again reset e.g. to 0. If this is not the case, then when the counter is next reset the aging bit is set e.g. to 2, which indicates that the entry is invalid.
The address tables 8 are administered here by means of a program 10.
A particular disadvantage of this method is that the address table 8 periodically has to be fully read out in order to check whether an entry should be marked as invalid.